﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Chilis.Marketing.Common;

namespace Chilis.Marketing.Business.Entity
{
    public class BECampanha
    {
        #region ATRIBUTOS



        private int _idCampanha;
        private string _nombre;
        private string _descripcion;
        private DateTime? _fechaProyectadaInicio;
        private DateTime? _fechaProyectadaFin;
        private double _metaVenta;
        private int _metaUnidades;
        private DateTime? _fechaRealInicio;
        private DateTime? _fechaRealFin;

        private Constantes.ESTADO_CAMPANHA _estadoCampanha;
        private string _nombreEstadoCampanha;

        private double _presupuesto;
        private BETrabajador _trabajador;
        private BETrabajador _creativo;

        private List<BEActividad> _lActividades;
        private List<BEArte> _lArtes;
        private List<BEPruebaPiloto> _lPruebasPiloto;
        private DateTime? _fechaCreacion;
        private DateTime? _fechaCreacionInicio;
        private DateTime? _fechaCreacionFin;
        private Constantes.ESTADO _estado;
        private string _usuario;
        private char _order_by;
        private char _de_forma;

        #endregion

        #region CONSTRUCTOR

        public BECampanha()
        {
            _idCampanha = Common.Constantes.idValorNulo;
            _nombre = string.Empty;
            _descripcion = string.Empty;
            _fechaProyectadaInicio = null;
            _fechaProyectadaFin = null;
            _metaVenta = Constantes.idValorNulo;
            _metaUnidades = Common.Constantes.idValorNulo;
            _fechaRealInicio = null;
            _fechaRealFin = null;
            _estadoCampanha = Constantes.ESTADO_CAMPANHA.NINGUNO;
            _nombreEstadoCampanha = string.Empty;
            _presupuesto = Constantes.idValorNulo;
            _trabajador = null;
            _creativo = null;

            _lActividades = null;
            _lArtes = null;
            _lPruebasPiloto = null;
            _fechaCreacion = null;
            _fechaCreacionInicio = null;
            _fechaCreacionFin = null;

            _estado = Constantes.ESTADO.ACTIVO;
            _usuario = string.Empty;
            _order_by = (char)Common.Constantes.idValorActivo;
            _de_forma = (char)Common.Constantes.idValorActivo;
        }

        public BECampanha(int idCampanha,
                          string nombre,
                          string descripcion,
                          DateTime? fechaProyectadaInicio,
                          DateTime? fechaProyectadaFin,
                          double metaVenta,
                          int metaUnidades,
                          DateTime? fechaRealInicio,
                          DateTime? fechaRealFin,
                          int estadoCampanha,
                          string nombreEstadoCampanha,
                          double presupuesto,
                          BETrabajador trabajador,
                          BETrabajador creativo,
                          List<BEActividad> lActividades,
                          List<BEArte> lArtes,
                          List<BEPruebaPiloto> lPruebasPiloto,
                          Constantes.ESTADO estado,
                          string usuario)
        {
            _idCampanha = idCampanha;
            _nombre = nombre;
            _descripcion = descripcion;
            _fechaProyectadaInicio = fechaProyectadaInicio;
            _fechaProyectadaFin = fechaProyectadaFin;
            _metaVenta = metaVenta;
            _metaUnidades = metaUnidades;
            _fechaRealInicio = fechaRealInicio;
            _fechaRealFin = fechaRealFin;
            _estadoCampanha = Constantes.ESTADO_CAMPANHA.NINGUNO;
            _nombreEstadoCampanha = nombreEstadoCampanha;
            _presupuesto = presupuesto;
            _trabajador = trabajador;
            _creativo = creativo;

            _lActividades = lActividades;
            _lArtes = lArtes;
            _lPruebasPiloto = lPruebasPiloto;
            _fechaCreacion = null;
            _fechaCreacionInicio = null;
            _fechaCreacionFin = null;

            _estado = estado;
            _usuario = usuario;
            _order_by = (char)Common.Constantes.idValorActivo;
            _de_forma = (char)Common.Constantes.idValorActivo;
        }

        #endregion

        #region PROPIEDADES


        public int IdCampanha
        {
            get { return _idCampanha; }
            set { _idCampanha = value; }
        }
        public string Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }
        public string Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }
        public DateTime? FechaProyectadaInicio
        {
            get { return _fechaProyectadaInicio; }
            set { _fechaProyectadaInicio = value; }
        }
        public DateTime? FechaProyectadaFin
        {
            get { return _fechaProyectadaFin; }
            set { _fechaProyectadaFin = value; }
        }
        public double MetaVenta
        {
            get { return _metaVenta; }
            set { _metaVenta = value; }
        }
        public int MetaUnidades
        {
            get { return _metaUnidades; }
            set { _metaUnidades = value; }
        }
        public DateTime? FechaRealInicio
        {
            get { return _fechaRealInicio; }
            set { _fechaRealInicio = value; }
        }
        public DateTime? FechaRealFin
        {
            get { return _fechaRealFin; }
            set { _fechaRealFin = value; }
        }
        public Constantes.ESTADO_CAMPANHA EstadoCampanha
        {
            get { return _estadoCampanha; }
            set { _estadoCampanha = value; }
        }
        public string NombreEstadoCampanha
        {
            get { return _nombreEstadoCampanha; }
            set { _nombreEstadoCampanha = value; }
        }
        public double Presupuesto
        {
            get { return _presupuesto; }
            set { _presupuesto = value; }
        }
        public BETrabajador Trabajador
        {
            get { return _trabajador; }
            set { _trabajador = value; }
        }
        public BETrabajador Creativo
        {
            get { return _creativo; }
            set { _creativo = value; }
        }
        public Constantes.ESTADO Estado
        {
            get { return _estado; }
            set { _estado = value; }
        }

        public List<BEActividad> LActividades
        {
            get { return _lActividades; }
            set { _lActividades = value; }
        }
        public List<BEArte> LArtes
        {
            get { return _lArtes; }
            set { _lArtes = value; }
        }
        public List<BEPruebaPiloto> LPruebasPiloto
        {
            get { return _lPruebasPiloto; }
            set { _lPruebasPiloto = value; }
        }

        public DateTime? FechaCreacion
        {
            get { return _fechaCreacion; }
            set { _fechaCreacion = value; }
        }
        public DateTime? FechaCreacionInicio
        {
            get { return _fechaCreacionInicio; }
            set { _fechaCreacionInicio = value; }
        }
        public DateTime? FechaCreacionFin
        {
            get { return _fechaCreacionFin; }
            set { _fechaCreacionFin = value; }
        }

        public string Usuario
        {
            get { return _usuario; }
            set { _usuario = value; }
        }
        public char Order_by
        {
            get { return _order_by; }
            set { _order_by = value; }
        }
        public char De_forma
        {
            get { return _de_forma; }
            set { _de_forma = value; }
        }

        #endregion

        #region METODOS
        #endregion
    }
}
